import unittest
from selenium import webdriver
class test_UI(unittest.TestCase):
    # @classmethod 修饰符对应的函数不需要实例化,不需要self参数,但第一个参数需要是表示自身类的cls参数,可以来调用类的属性,类的方法,实例化对象等。
    # @classmethod 配合setup() teardown()方式使用可以减少反复启动浏览器,减少运行时长
    @classmethod
    def setUpClass(cls):#如上所述,第一个参数是cls,并且不需要self
        cls.driver=webdriver.Chrome()
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
    # 因为@classmethod修饰符+setupclass和teardown函数,下面的函数在开始执行时会运行一次setupclass内的函数,下面的函数执行完毕以后,再运行一次teardown内的函数
    
    def test_qqmail(self): 
        self.driver.get("https://mail.qq.com")
        self.assertEqual(self.driver.title,"登录QQ邮箱","页面打开失败")
    def test_zhihu(self):
        self.driver.get("https://www.baidu.com/")
        self.assertEqual(self.driver.title,"百度一下","知乎没打开")

if __name__ == "__main__":
    unittest.main()